1. Field of the Invention
The present invention relates to an apparatus for performing fuzzy inference based on fuzzy information and knowledge for control, pattern recognition, or decision making.
2. Description of the Related Art
The fuzzy inference realizes very human decisions and analyses, which had previously been the weak points of machines, by providing a technique for numerically handling fuzzy knowledge and information and therefore, it has been used in various fields in recent years. Especially, the fuzzy inference is practically used in such fields as control, recognition, and diagnosis and is familiar to the public through home electrical appliances.
Conventional methods for realizing the fuzzy inference depend on software which is advantageous in view of the degree of freedom and flexibility for design. In application fields where higher speed is required, however, development of hardware dedicated to the fuzzy inference such as fuzzy operation processors and fuzzy chips has progressed. It is a problem in these pieces of hardware to decide what system of operation should be used as concrete means of the fuzzy inference. The following is a description of the process of fuzzy inference.
For fuzzy inference, knowledge is expressed by the following "if-then rule". EQU if x=A and y=B then z=C
The part "if x=A and y=B" is called an. antecedent part and the part "then z=C" is called a consequent part. When human knowledge is expressed by the if-then rule, the antecedent part A and B and the consequent part C usually include fuzziness. The fuzzy inference makes it possible to numerically perform inference based on knowledge having fuzziness by describing the above A, B, and C with membership functions of the fuzzy set theory. In the above example, the antecedent part has two propositions. However, it is possible for the antecedent part to have one proposition or more than two propositions. EQU if x=A1 and y=B1 then z=C1 EQU if x=A2 and y=B2 then z=C2 EQU if x=An and y=Bn then z=Cn
According to the above rule, inference is performed by the following process.
Step 1: How actually given inputs "x" and "y" coincide with the antecedent parts A1 . . . , and An, and B1 . . . , and Bn respectively, that is, the fidelity is computed. PA1 Step 2: When a plurality of propositions are present in the antecedent part, a fidelity as one rule is computed from the fidelity obtained for each proposition. For example, the minimum operation (MIN) between the fidelities of propositions is performed. PA1 Step 3: A conclusion is extracted for each rule by using the fidelity obtained in Step 2. For example, the rule consequent-part membership function is truncated by the fidelity (minimum operation between the fidelity and consequent-part membership function). PA1 Step 4: The conclusion for each rule extracted in Step 3 is unified for all rules to obtain the entire conclusion. For example, the maximum operation (MAX) of the conclusion for each rule is used. PA1 Step 5: A non-fuzzy definite value is obtained from the inference conclusion obtained in Step 4 (which is a fuzzy set and described by the membership function). For example, the barycenter value of the membership function showing the conclusion is computed. PA1 1. The number of input variables and the number of rules are excessively set large to prepare for variety of needs such as freedom for design. In fact, however, so many rules are not necessary and waste portions are produced in the hardware. This causes the hardware cost to rise. On the contrary, if the upper limits are set to slightly small values, it is impossible to process the necessary numbers of input variables and rules. These problems do not occur by performing a plurality of processings in time series. In this case, however, there is a disadvantage that the operation speed decreases as the numbers of input variables and rules increase. PA1 2. Because inference systems are restricted, there is no assurance that the system is optimum for the purpose. PA1 3. It is impossible to recombine systems while actually repeating trial and error and constitute an optimum inference system. PA1 1. It should be possible to constitute a system with a necessary and adequate scale according to the numbers of input variables and rules to be set without sacrificing the operation speed. PA1 2. It should be possible to select an operation system in each step of the inference process and to use an inference system meeting the purpose. PA1 3. It should be possible to easily recombine systems according to necessity.
As described above, the process of the fuzzy inference comprises a plurality of steps.
The operation method shown in each step as an example is known as the Mamdani method (MIN-MAX-barycenter method) which is the most typical method for the fuzzy inference. FIG. 8 shows a conceptual diagram of the inference system. The effectiveness of the Mamdani method is verified in many practical examples. However, many operation methods different from the Mamdani method are proposed (e.g. Mizumoto, "Recent fuzzy control method", Mathematical Science, 333, March 1991). For example, it is reported that the "algebraic-product-addition-barycenter method" obtained by replacing the MIN and MAX operations of the Mamdani method with the algebraic sum operation (FIG. 9) produces effects superior to the the Mamdani method depending on the applied object or purpose. Moreover, there is a method for using the set element showing the maximum membership function value as a definite output instead of the barycenter value in the non-fuzzing step (maximum height method).
As described above, because the basic operation used in each step of the fuzzy inference process includes a plurality of systems in each step of the process, the system which should be used depends on the case. Moreover, because the theory for supporting which operation system is proper depending on the object or purpose is not adequately established, the actual result is that an inference system is determined depending on each case through trial and error. The same is true for the if-then rule and the number of input variables.
To realize the above fuzzy inference system as hardware, such pieces of hardware as a fuzzy inference chip and an inference board have been developed in recent years. For these pieces of hardware, however, inference systems, input variables to be set, and maximum value of rules are restricted by the existing hardware.
The existing fuzzy inference hardware has the following problems because the inference systems, number of input variables, and number of rules are restricted.
In any case, it is difficult to constitute a fuzzy inference system with a necessary and adequate scale without sacrificing the operation speed.
It is possible to design a hardware system dedicated to the purpose by using discrete parts. However, much labor is required for development and it is difficult to modify a system once constructed while repeating trial and error.